//路由守卫

// console.log('进行路由守卫')
import router from "./router";
import {getToken} from './utils/auth';
import userApi from './api/userApi';

router.beforeEach(function (to, from, next) {
    /*
        路由守卫的思路：
            * 激活组件是否需要守卫
                * 不用：直接可以进入激活组件
                * 用：判断是否有token
                    * 没有token：跳到登录页
                    * 有：验证token
                        * 验证通过：进入激活组件
                        * 验证不通过：跳到登录页
    */
    if(to.meta.nocheck) {
        //不用守卫
        next();
    }else{
        //需要守卫
        let token = getToken();
        if(token) {
            //有token：发送ajax验证token
            userApi.checkToken(token).then(res => {
                if(res.data.flag) {
                    //验证通过
                    next();
                }else{
                    router.push('/login');
                }
            })
        }else{
            //没有token
            router.push('/login');
        }
    }

//   console.log(to,'to');
//   console.log(from,'from');
//   window.console.log("进入全局 beforeEach钩子了");
//   next();
})